<?php
/**
 * Classe que representa a Pessoa do Cliente
 * @access public
 * @author Magno Leal
 * @package model
 */
class PessoaBean {

    private $cliente;
    /**
     * @NotEmptyValidator
     */
    private $nome;
    /**
     * @MaskValidator(mask = "999.999.999-99")
     */
    private $cpf;
    /**
     * @NotEmptyValidator
     */
    private $sexo;
    /**
     * @NotEmptyValidator
     */
    private $dataNascimento;
    /**
     * @NotEmptyValidator
     */
    private $estadoCivil;
    /**
     * @NotEmptyValidator
     */
    private $telefone;

    private $endereco;

    function __construct($cliente = null, $nome = "", $cpf = "", $sexo = -1, $dataNascimento = "",
            $estadoCivil = -1, $telefone = "", $endereco = null) {
        $this->cliente = $cliente;
        $this->nome = $nome;
        $this->cpf = $cpf;
        $this->sexo = $sexo;
        $this->dataNascimento = $dataNascimento;
        $this->estadoCivil = $estadoCivil;
        $this->telefone = $telefone;
    }

    public function getCliente() {
        return $this->cliente;
    }

    public function setCliente($cliente) {
        $this->cliente = $cliente;
    }

    public function getNome() {
        return $this->nome;
    }

    public function setNome($nome) {
        $this->nome = $nome;
    }

    public function getCpf() {
        return $this->cpf;
    }

    public function setCpf($cpf) {
        $this->cpf = $cpf;
    }

    public function getSexo() {
        return $this->sexo;
    }

    public function setSexo($sexo) {
        $this->sexo = $sexo;
    }

    public function getDataNascimento() {
        return $this->dataNascimento;
    }

    public function setDataNascimento($dataNascimento) {
        $this->dataNascimento = $dataNascimento;
    }

    public function getEstadoCivil() {
        return $this->estadoCivil;
    }

    public function setEstadoCivil($estadoCivil) {
        $this->estadoCivil = $estadoCivil;
    }

    public function getTelefone() {
        return $this->telefone;
    }

    public function setTelefone($telefone) {
        $this->telefone = $telefone;
    }

    public function getEndereco() {
        return $this->endereco;
    }

    public function setEndereco($endereco) {
        $this->endereco = $endereco;
    }

    public function toBD() {
        $pessoa = array();

        $pessoa['usuarioID'] = $this->cliente->getUsuarioID();
        $pessoa['nome'] = $this->nome;
        $pessoa['cpf'] = $this->cpf;
        $pessoa['sexo'] = intval($this->sexo);
        $pessoa['dataNascimento'] = Util::stringToDate($this->dataNascimento);
        $pessoa['estadoCivil'] = intval($this->estadoCivil);
        $pessoa['telefone'] = $this->telefone;

        return $pessoa;
    }

    public function toJson() {
        return json_encode($this->toBD());
    }


}
?>
